当前位置:  开发笔记 > 运维 > 正文

`receive.denyCurrentBranch = updateInstead`如何与索引交互?

如何解决《`receive.denyCurrentBranch=updateInstead`如何与索引交互?》经验,为你挑选了1个好方法。

receive.denyCurrentBranch 配置选项控制,如果你推到一个回购的分支,是结账会发生什么.

默认情况下,它拒绝它(这就是为什么你通常只推送到没有结账分支的裸存储库).

它可以通过ignore或禁用warn.

另一种选择是updateInstead.

这样做的是,如果HEAD和工作目录相同,并且正在推送分支HEAD,则工作目录和分支/ HEAD同时更新.

如果工作目录不同HEAD,则拒绝推送.
这是有用的,对于力推Web服务器,例如.

我的问题是,这个选项是否与索引相互影响?

指数是否更新?如果HEAD和工作目录匹配,但不是Index吗?



1> VonC..:

指数是否更新?如果HEAD和工作目录匹配,但不匹配,该怎么办?

提交0855331(git 2.4.0-rc0,2014年12月)明确指出:

receive.denyCurrentBranch设置updateInstead为时,仅当索引和工作树与当前检出的提交完全匹配时才接受尝试更新当前检出的分支的推送,在这种情况下,索引和工作树将更新以匹配推送提交.
否则推送被拒绝.

虽然同样的提交引入了push-to-checkout钩子.

此挂钩可用于自定义此"推送 - 部署"逻辑.
钩子接收将更新当前分支的提示的提交,并且可以决定可接受哪种局部更改以及如何更新索引和工作树以匹配当前分支的更新的提示.

这为索引提供了一点灵活性.


承诺1a51b52,git 2.4.0-rc2,2015年4月又说:

设置receive.denycurrentbranchupdateinstead和推进当前的分支,当工作树和索引是真正的清洁,应该重新设置工作树和匹配推树提交的指数.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有